feat: metadata CRUD, form dialog, detail page, registry extensions, actions & permissions#1188
Merged
xuyushun441-sys merged 5 commits intomainfrom Apr 7, 2026
Conversation
Closed
12 tasks
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…sions - Add MetadataFormDialog component for create/edit with registry-driven form fields - Add Create button and Edit button to MetadataManagerPage - Add MetadataDetailPage at /system/metadata/:metadataType/:itemName - Extend MetadataTypeConfig with formFields, detailComponent - Add formFields to dashboard, page, report registry entries - Add DEFAULT_FORM_FIELDS constant for fallback - Add routes for detail page in all three route blocks - Add 30 new tests (MetadataFormDialog, MetadataDetailPage, create/edit flows) - Update CHANGELOG.md Agent-Logs-Url: https://github.com/objectstack-ai/objectui/sessions/c72f47f2-b9dd-4364-b613-535fb3b9d405 Co-authored-by: xuyushun441-sys <255036401+xuyushun441-sys@users.noreply.github.com>
Agent-Logs-Url: https://github.com/objectstack-ai/objectui/sessions/c72f47f2-b9dd-4364-b613-535fb3b9d405 Co-authored-by: xuyushun441-sys <255036401+xuyushun441-sys@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Update basic functionality and task list for MetadataManagerPage
feat: metadata CRUD, form dialog, detail page, and registry extensions
Apr 7, 2026
Contributor
|
@copilot 仔细评估是否完成了任务中要求的所有开发 |
- Add MetadataActionDef type and actions field to MetadataTypeConfig - MetadataManagerPage renders page-level and row-level custom actions - MetadataManagerPage and MetadataDetailPage use useAuth() to check admin role - Create/edit/delete buttons hidden for non-admin users - Add tests for permission integration and actions support - Update CHANGELOG.md Agent-Logs-Url: https://github.com/objectstack-ai/objectui/sessions/fdb1f248-f420-4b3f-b38e-7c2e71034ac4 Co-authored-by: xuyushun441-sys <255036401+xuyushun441-sys@users.noreply.github.com>
Agent-Logs-Url: https://github.com/objectstack-ai/objectui/sessions/fdb1f248-f420-4b3f-b38e-7c2e71034ac4 Co-authored-by: xuyushun441-sys <255036401+xuyushun441-sys@users.noreply.github.com>
Contributor
Author
经过仔细评估,已补全了之前遗漏的 P2 任务,现在所有优先级的任务都已完成: P0 - 基础功能 ✅
P1 - 详情页 ✅
P1 - Registry 扩展 ✅
P2 - 可拓展能力 ✅ (commit
测试: 62 个测试全部通过(4 个文件) |
Copilot
AI
changed the title
feat: metadata CRUD, form dialog, detail page, and registry extensions
feat: metadata CRUD, form dialog, detail page, registry extensions, actions & permissions
Apr 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
MetadataManagerPage only supported list + delete. This adds full CRUD, a detail page, custom actions, role-based permissions, and the registry extensions needed to drive them.
Registry extensions (
metadataTypeRegistry.ts)MetadataFormFieldDeftype andformFieldsproperty onMetadataTypeConfig— standardizes create/edit form structure per typedetailComponentproperty for custom detail renderersMetadataActionDeftype andactionsproperty for custom page-level and row-level action buttons (withscope: 'page' | 'row',variant,icon,handler)DEFAULT_FORM_FIELDSconstant (name, label, description) as fallbackformFieldspopulated for dashboard, page, report entriesMetadataFormDialog (
components/MetadataFormDialog.tsx)formFieldsdisabledOnEditfor immutable keys (e.g.name), loading state during submissionMetadataManagerPage enhancements
useAuth()role checkMetadataService.saveMetadataItem()with toast feedback, loading state, list refreshMetadataDetailPage (
pages/system/MetadataDetailPage.tsx)/system/metadata/:metadataType/:itemName(added to all 3 route blocks)detailComponentin registryuseAuth()role checkPermission integration
useAuth()from@object-ui/authto checkuser.role === 'admin'Tests